package com.hxkj.mapper;

import com.hxkj.domain.po.*;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
* 数据库操作接口
*
* @author: chenwei
* @version: 1.0
* @datetime: 2018-06-05 19:32:55
*
*/
@Repository("manuscriptMapper")
public interface ManuscriptMapper {

    /**
    *
    * 根据主键查询Manuscript对象
    *
    * @param manuscriptId
    * @return Manuscript对象
    */
    Manuscript selectByPrimaryKey(Long manuscriptId);

    /**
    *
    * 根据查询条件查询符合条件的Manuscript对象
    *
    * @param manuscript
    * @return 符合条件的Manuscript对象List
    */
    List<Manuscript> select(Manuscript manuscript);

    /**
    *
    * 根据主键删除Manuscript对象
    *
    * @param manuscriptId
    * @return 影响条件数
    */
    int deleteByPrimaryKey(Long manuscriptId);

    /**
    *
    * 根据条件删除符合条件的Manuscript对象
    *
    * @param manuscript
    * @return 影响条件数
    */
    int delete(Manuscript manuscript);

    /**
    *
    * 插入Manuscript对象
    *
    * @param manuscript
    * @return 影响条件数
    */
    int insert(Manuscript manuscript);

    /**
    *
    * 更新Manuscript对象
    *
    * @param manuscript
    * @return 影响条件数
    */
    int update(Manuscript manuscript);


    /**
     * 获取最大的序列号
     * @param
     * @return
     * @throws Exception
     */
    Integer getMaxSeqNum();

    /**
     *
     * 根据条件 查询Manuscript对象
     *
     * @param manuscript
     * @return Manuscript对象
     */
    Manuscript getManuscript(Manuscript manuscript);

    /**
     *
     * 根据站点、状态、文章id查询出生成的文件
     *
     * @param manuscript
     * @return Manuscript对象
     */
    List<Manuscript> getManuscriptList(Manuscript manuscript);


    List<Article> getPreCreateArticle(Map<String, Object> map);

    List<Channel> getPreCreateChannel(Map<String, Object> map);

    List<Column> getPreCreateColumn(Map<String, Object> map);

    SiteUniversal getSiteUniversal(Long siteId);
}
